import { $t } from '@/assets/i18n'

// 表单的校验规则
const validator = {
  // 流名称校验
  validateStreamName(rule, value, callback) {
    if (value === '') {
      callback(new Error($t('Message.Msg.Msg6')))
    } else {
      if (!/^0[0-9]{9}$/.test(value)) {
        callback(new Error($t('Message.Msg.Msg10')))
      } else {
        callback()
      }
    }
  },

  // SIP服务器地址校验
  validateSipHost(rule, value, callback) {
    if (value === '') {
      callback(new Error($t('Message.Msg.Msg17')))
    } else {
      if (
        !/^(25[0-5]|2[0-4]\d|1\d{2}|\d{1,2})(\.(25[0-5]|2[0-4]\d|1\d{2}|\d{1,2})){3}$/.test(value)
      ) {
        callback(new Error($t('Message.Msg.Msg21')))
      } else {
        callback()
      }
    }
  },

  // SIP服务器端口校验
  validateSipPort(rule, value, callback) {
    if (value === '') {
      callback(new Error($t('Message.Msg.Msg18')))
    } else {
      if (!/^(6553[0-5]|655[0-2]\d|65[0-4]\d{2}|6[0-4]\d{3}|[1-5]\d{4}|\d{1,4})$/.test(value)) {
        callback(new Error($t('Message.Msg.Msg22')))
      } else {
        callback()
      }
    }
  },

  // 信令端口校验
  validateServerPort(rule, value, callback) {
    if (value === '') {
      callback(new Error($t('Message.Msg.Msg20')))
    } else {
      if (!/^(6553[0-5]|655[0-2]\d|65[0-4]\d{2}|6[0-4]\d{3}|[1-5]\d{4}|\d{1,4})$/.test(value)) {
        callback(new Error($t('Message.Msg.Msg23')))
      } else {
        callback()
      }
    }
  },
}

export default validator
